package com.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;

import java.time.LocalDateTime;

/**
 * @Author nbZhuozh
 * @Date 2025-07-16  20:31
 **/
@TableName("ag_model_info")
public class AgModelInfo {

    @TableId(type = IdType.ASSIGN_ID)
    private String id;

    @TableField(fill = FieldFill.INSERT)
    @JsonInclude(value = JsonInclude.Include.NON_NULL)
    private String createUser;

    @TableField(fill = FieldFill.INSERT)
    @JsonInclude(value = JsonInclude.Include.NON_NULL)
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonInclude(value = JsonInclude.Include.NON_NULL)
    private String updateUser;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonInclude(value = JsonInclude.Include.NON_NULL)
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;

    /**
     * 模型名称
     */
    private String modelName;

    /**
     * 模型地址
     */
    private String baseUrl;

    /**
     * 模型ID
     */
    private String modelDeployId;

    /**
     * 模型类型 1:大模型，2:Embedding模型, 3:Rerank模型
     */
    private String modelType;

    /**
     * 是否使用RAG，0:不使用，1:使用
     */
    private String haveRag;

    /**
     * 默认最大Tokens
     */
    private Integer maxTokens;

    /**
     * 默认温度
     */
    private Double temperature;

    /**
     * 模型开场白消息
     */
    private String defaultMessage;

    /**
     * 默认模型
     */
    private Integer defaultModel;

    /**
     * 是否有效状态，默认有效，0：无效  1：有效
     */
    @TableLogic
    private String status;

    /**
     * 调用模型API key
     */
    private String apiKey;

    /**
     * 0:没有推理过程，1：有推理过程
     */
    private String thinkTagFlg;

    /**
     * 推理过程标签
     */
    private String thinkTag;

    private String runningStatus;

    private String modelInfo;

    private String modelTag;

    private Integer sort;



}
